package org.x.user.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.util.Date;
import io.swagger.v3.oas.annotations.media.Schema;
import org.x.user.common.UserStatus;

/**
 * 用户信息实体类
 *
 * @author 夏包包
 * @date 2025-03-08 13:39:03
 */
@Data
@TableName("sys_users")
public class SysUsers {

    /**
     * 用户ID:用户ID
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 用户名:用户名
     */
    @Schema(description = "用户名:用户名")
    private String username;

    /**
     * 密码:密码
     */
    @Schema(description = "密码:密码")
    private String password;

    /**
     * 用户描述:用户描述
     */
    @Schema(description = "用户描述:用户描述")
    private String userDesc;

    /**
     * 创建人:创建人
     */
    @Schema(description = "创建人:创建人")
    @TableField(fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建时间:创建时间
     */
    @Schema(description = "创建时间:创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改人:修改人
     */
    @Schema(description = "修改人:修改人")
    @TableField(fill = FieldFill.UPDATE)
    private String updateBy;

    /**
     * 修改时间:修改时间
     */
    @Schema(description = "修改时间:修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 所属租户:所属租户
     */
    @Schema(description = "所属租户:所属租户")
    @TableField(fill = FieldFill.INSERT)
    private String tenantId;

    /**
     * 昵称:昵称
     */
    @Schema(description = "昵称:昵称")
    private String nickName;

    /**
     * 邮箱:邮箱
     */
    @Schema(description = "邮箱:邮箱")
    private String email;

    /**
     * 手机号:手机号
     */
    @Schema(description = "手机号:手机号")
    private String phone;

    /**
     * 用户状态:用户状态
     */
    @Schema(description = "用户状态:用户状态")
    private UserStatus status;

    /**
     * 主部门ID:主部门ID
     */
    @Schema(description = "主部门ID:主部门ID")
    private String mainDeptId;

    /**
     * 本地语言:本地语言
     */
    @Schema(description = "本地语言:本地语言")
    private String locale;

}
